package cn.itsource.smartsystem.service.impl;

import cn.itsource.smartsystem.domain.User;
import cn.itsource.smartsystem.exception.GlobalException;
import cn.itsource.smartsystem.mapper.UserMapper;
import cn.itsource.smartsystem.service.UserService;
import cn.itsource.smartsystem.util.AjaxResult;
import cn.itsource.smartsystem.util.TokenMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.UUID;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper umapper;
    @Override
    public String login(User user) throws GlobalException {
        String uname = user.getUname();
        String upwd = user.getUpwd();
        //判断用户名是否为null或者为空
        if("".equals(uname) || uname == null){
            throw new GlobalException("用户名不能为空");
        }
        //判断密码是否为null或者为空
        if("".equals(upwd) || upwd == null){
            throw new GlobalException("密码不能为空");
        }
        User login = umapper.login(user);
        //当穿回来的User对象为空 就表明并没有找到这个对象 即数据库没有对应的用户 所以这也就表明密码或者用户名错误了
        if(login == null ){
            throw new GlobalException("用户或者密码错误");
        }
        //生成一个令牌 保存到map集合中 就是在登录过后会有一个本地数据 有这个数据就表示你可以登录 登陆过
        String token = UUID.randomUUID().toString();
        TokenMap.setTokenMap(token,login);
        return token;
    }
}
